In the situation in which electronic control of engines and transmissions of vehicles is rapidly proceeding, functions required for controlling each component have been highly advanced. In order to satisfy the required functions, the number of devices using a microcomputer (hereinafter, referred to as CPU) in a controller for controlling each component has increased. As a result, a plurality of controllers, each using the CPU, are installed in an electronic control device for one vehicle. With the advancement of the functions of such an electronic control device, fault diagnosis becomes difficult, and it is an important problem as to how faulty points are discovered in a shorter time under fault conditions in order to shorten the downtime of the vehicle.
In order to solve the above problem, vehicle fault diagnostic apparatuses have been proposed in which the CPU of each controller performs the fault diagnosis with respect to the respective controllers, and achieves easy diagnosis by displaying results of the diagnosis. For example, in Japanese Unexamined Patent Publication No. 4-304589, a vehicle fault diagnostic apparatus, shown in FIG. 5, is proposed. According to this proposal, an electronic control device for a vehicle is composed of a master controller 1 and a plurality of controllers 11a, 11b, 11c, . . . , 11n, and the respective controllers are connected to each other by a communication network 10. The master controller 1 and the controllers are composed of a system centered on the CPU.
Each of the controllers inputs signals from a sensor and a switch to control respective components of the vehicle, and outputs a signal to control an actuator, etc., based on the signals. In addition, each of the controllers has a fault detecting section for detecting faults of the above connected sensor and actuator, and always transmits the detected fault data to the master controller 1 through the communication network 10.
The master controller 1 is composed of a CPU 2, a network interface 3, a memory 4, an operating switch 6, and a display 7. The memory 4 stores results of calculations, communication data, and fault information of the respective controllers. The CPU 2 always receives fault data from the controllers 11a, 11b, 11c, . . . , 11n using, for example, a polling method, and checks whether or not there is a bit into which "1" showing fault detection is written in fault items of the received data. When there is a bit into which "1" is written, an error code corresponding to the fault item of the bit is written into a predetermined storage area in the memory 4, and the time elapsed since occurrence of the fault is written into the predetermined storage area.
The predetermined storage area, in which the error code and its elapsed time are stored, is in the form of a fault history such that the error codes are stored in the order of the time at which the error code was generated. That is, the error codes and the elapsed time are stored in the predetermined storage area in the order of generation, and when a predetermined number of error codes are stored, the next and later error codes are stored in the initial address of the above predetermined storage area. In this way, the oldest error code and its elapsed time are stored by being renewed by the latest error code and its elapsed time. In addition, each elapsed time renews the previous elapsed time per a predetermined time (one hour, for example) since occurrence of the fault. Further, when an operator investigates the cause of the fault, the operating switch 6 can be operated to display the previous fault history on the display 7. By analyzing the fault history data, the cause can be investigated in a short time.
On the other hand, with the advancement of the function of controlling the respective components as described above, an analysis of the fault diagnosis has become complicated, resulting in the increased requirement that the timing of the input and output signals between the components, and the state of progress of signals in the respective components be analyzed in detail. For this reason, it is necessary to store the fault history data and the state of progress of the input and output signals, etc., in detail and in large quantity. Thus, in the above conventional vehicle fault diagnostic apparatus, a large memory capacity for storing the fault history data, etc., in the master controller 1 must be prepared. However, since the controllers are vehicle-mounted controllers, considering environmental resistance such as vibration resistance, dust resistance, and waterproofing, a semiconductor memory such as RAM must be used, and considering the volume, etc., to reduce the size of the controllers, the memory capacity is restricted, and cannot be sufficiently increased.
To cope with this, an arrangement can be considered in which the fault history data and the state of progress of the input and output signals of the respective controllers are separately stored in respective memories of the controllers. This allows a memory of large capacity to be prepared in each controller within the restriction of each volume. In addition, an operation counting clock or a time clock is included in each of the controllers, and, with the use of these clocks, the fault data at the time of occurrence of the fault, the conditions of the input and output signals, and the fault occurrence time and the time elapsed from occurrence of the fault are stored in the respective memories in each controller. These stored fault history data and the state of progress of the input and output signals are transmitted in response to a request by the master controller 1, whereby the fault can be analyzed on the display 7, etc., on the side of the master controller 1.
In this case, however, the following problems are encountered. The operation counting clock included in each controller is operated only during the interval when the power of each controller is turned on. However, the power of each controller may be separately turned off due to the fault and an examination of each component, or a controller used in a certain period of time may be removed from the vehicle and attached to another vehicle, whereby the operation counting clocks of the power-turned-off controller and the newly attached controller cause differences between the operation counting clocks of other controllers and the master controller 1. In addition, the above operation counting clock and the time clock include clock errors between the controllers due to the variations of timers, etc. Therefore, in spite of a fault and a phenomenon occurring at the same time, there is a possibility that the stored clock values are different between controllers. This could be a major obstacle in investigation of the cause of the fault by analyzing the fault history data of the respective controllers and the state of progress of the input and output signals, and the fault diagnosis might require a lot of time.